home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / com / computer / casio_st / prog_fx / oisac2 / l_5350.txt < prev    next >
Text File  |  1994-03-01  |  4KB  |  105 lines

  1. 5 ONERRORGOTO2000
  2. 10 CLS:MODE8:DIM:a=1:x=0:y=0:c$=CHR$(5):p=2^31:q=2^32:r=0:x$=" 0":ERASEa$,b$:DIMa$(5),b$(15)
  3. 40 RESTORE70
  4. 50 FORi=0 TO5:READa$(i):NEXT
  5. 60 FORi=0 TO15:READb$(i):NEXT
  6. 70 DATABIN,DEC,HEX,AND,OR,XOR
  7. 80 DATA0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111
  8. 110 CLS:GOSUB300
  9. 120 z=LEN(x$):LOCATE0,0:IFz<17 THENPRINTc$;"[";a$(a);"] ";x$;ELSEPRINTc$;x$;
  10. 130 IFr>16 THENGOSUB300
  11. 140 r=z:LOCATE31,1
  12. 150 f=ASC(INPUT$(1)):IFf>96 THENf=f-32
  13. 160 IFf=73 THENGOSUB440:GOSUB290:GOTO330
  14. 170 IFf=66 ANDa<>0 THENa=0:GOTO330
  15. 180 IFf=68 ANDa<>1 THENa=1:GOTO330
  16. 190 IFf=72 ANDa<>2 THENa=2:GOTO330
  17. 200 IFf=42 ORf=43 ORf=45 ORf=47 THENGOSUB460:GOSUB290:GOTO800
  18. 210 IFf=65 ORf=79 ORf=88 THENGOSUB480:GOSUB290:GOTO900
  19. 220 IFf=76 ORf=82 THENGOSUB290:GOTO1040
  20. 230 IFf=78 ORf=67 THENGOSUB290:GOTO1100
  21. 240 IFf=46 THEN1200
  22. 250 GOTO150
  23. 270 LOCATE0,0:PRINTc$;"not found";:z$=INPUT$(1,@):RETURN
  24. 290 LOCATE0,0:PRINTc$;
  25. 300 LOCATE0,1:PRINT">I,B,D,H,+,-,*,/,A,O,X,N,C,L,R?";:RETURN
  26. 330 ONa+1 GOSUB360,350,360:GOTO120
  27. 350 x$=STR$(x):RETURN
  28. 360 IFx<0 THENt=x+q ELSEt=x
  29. 370 s=INT(t/65536):t=t-s*65536:x$=HEX$(s)+HEX$(t):IFa=2THENRETURN
  30. 380 y$="":FORi=1 TO8:y$=y$+b$(VAL("&H"+MID$(x$,i,1))):NEXT:x$=y$:RETURN
  31. 440 m$="Input data x (,B,D,H)     ["+a$(a)+"] x ?":GOSUB550:x=y:RETURN
  32. 460 IFa>0 THENm$="["+a$(a)+"] " ELSEm$=""
  33. 465 m$=m$+x$+" "+CHR$(f)+" ":GOSUB550:RETURN
  34. 480 IFa>0 THENm$="["+a$(a)+"] " ELSEm$=""
  35. 485 m$=m$+x$+" "+a$(SGN(f-79)+4)+" ":GOSUB550:RETURN
  36. 550 CLS:PRINTm$;:INPUT@34;z$:LOCATE0,0:IFz$="" THENy=x:RETURN
  37. 560 l=LEN(z$):IFl>34 THENz$=LEFT$(z$,34)
  38. 570 d=a:c=l:IFl<2 THEN630
  39. 580 a$=MID$(z$,l-1,1)
  40. 590 IFa$="," ORa$="/" THENc=l-2:d=ASC(RIGHT$(z$,1)):z$=LEFT$(z$,c) ELSE630
  41. 600 IFd>96 THENd=d-32
  42. 610 IFd=66 ORd=68 ORd=72 THENd=SGN(d-68)+1 ELSE550
  43. 630 y=0:ONd+1 GOTO670,710,750
  44. 650 IFy<-p ORy>q-1 THEN550 ELSEIFy>=p THENy=y-q
  45. 660 RETURN
  46. 670 FORi=1TOc:z=ASC(MID$(z$,i,1))-48:IFz=0ORz=1THENy=y*2+z ELSE550
  47. 680 NEXT:GOTO650
  48. 710 e=0:w=0:FORi=1TOc:z=ASC(MID$(z$,i,1))
  49. 720 IF(z>47 ANDz<58) ORz=45 ORz=43 ORz=69 THEN730 ELSE550
  50. 730 IFw=0 THENy=INT(VALF(z$)):w=1:IFe=1 THEN550
  51. 740 NEXT:GOTO650
  52. 750 FORi=1 TOc:z=ASC(MID$(z$,i,1)):IFz>96 THENz=z-32
  53. 760 z=z-48:IFz<0 ORz>9 THENz=z-7:IFz<10 ORz>15 THEN550
  54. 770 y=y*16+z:NEXT:GOTO650
  55. 800 ONf-41 GOSUB840,850,,860,,870
  56. 810 IFw>=p ORw<-p THENGOSUB270:GOTO120 ELSEx=w:GOTO330
  57. 840 w=x*y:RETURN
  58. 850 w=x+y:RETURN
  59. 860 w=x-y:RETURN
  60. 870 w=FIX(x/y):RETURN
  61. 900 IFx<0 THENx=x+q
  62. 910 IFy<0 THENy=y+q
  63. 920 u=x-INT(x/65536)*65536:v=y-INT(y/65536)*65536:GOSUB950:z=u
  64. 930 u=INT(x/65536):v=INT(y/65536):GOSUB950:x=z+u*65536:IFx>=p THENx=x-q
  65. 940 GOTO330
  66. 950 IFu>32767 THENu=u-65536
  67. 960 IFv>32767 THENv=v-65536
  68. 970 IFf=65 THENu=u ANDv ELSEIFf=79 THENu=u ORv ELSEu=u XORv
  69. 980 IFu<0 THENu=u+65536
  70. 990 RETURN
  71. 1040 IFx<0 THENx=x+q
  72. 1050 IFf=76 THENx=x*2 ELSEx=INT(x/2)
  73. 1060 IFx>=q THENx=x-q
  74. 1070 IFx>=p THENx=x-q
  75. 1080 GOTO330
  76. 1100 IFf=78 THENx=-x-1 ELSEIFx>-p THENx=-x
  77. 1110 GOTO330
  78. 1200 CLS:GOSUB1300:i=2
  79. 1210 PRINT:ONi GOSUB1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,1400,1410,1420,1430,1440
  80. 1220 z=ASC(INPUT$(1,@)):IFz=28 ORz=29 THEN110
  81. 1230 IFz<>13 ANDz<>30 ANDz<>31 THEN1220
  82. 1240 IF(z=30 ANDi=1) OR(z=31 ANDi=15) THEN1220
  83. 1250 IFz=30 THENi=i-2
  84. 1270 i=i+1:IFi<16 THEN1210
  85. 1280 GOTO110
  86. 1300 PRINT" I : input data";:RETURN
  87. 1310 PRINT" B : binary mode";:RETURN
  88. 1320 PRINT" D : decimal mode";:RETURN
  89. 1330 PRINT" H : hexadecimal mode";:RETURN
  90. 1340 PRINT" + : addition";:RETURN
  91. 1350 PRINT" - : subtraction";:RETURN
  92. 1360 PRINT" * : multiplication";:RETURN
  93. 1370 PRINT" / : division";:RETURN
  94. 1380 PRINT" A : AND";:RETURN
  95. 1390 PRINT" O : OR";:RETURN
  96. 1400 PRINT" X : XOR";:RETURN
  97. 1410 PRINT" N : NOT";:RETURN
  98. 1420 PRINT" C : 2's complement";:RETURN
  99. 1430 PRINT" L : bit shift left";:RETURN
  100. 1440 PRINT" R : bit shift right";:RETURN
  101. 2000 IFERR=1 THENCLS:ONERRORGOTO0
  102. 2010 IFERL>=840 ANDERR=<870 THENGOSUB270:RESUME120
  103. 2020 IFERL=730 THENe=1:RESUMENEXT
  104. 2030 GOSUB270:RESUME110
  105.